package com.xinsoft.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.xinsoft.entity.dto.CusRepairApproveDTO;
import com.xinsoft.entity.po.CusDocument;
import com.xinsoft.entity.po.SysFileHis;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 故障维修

维修时使用状况需要回写设备表
 * @TableName cus_repaire
 */
@Data
public class CusRepaireVo implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 故障维修ID
     */
    private Integer id;

    /**
     * 设备故障ID
     */
    private Integer breakdownId;

    /**
     * 设备名称
     */
    @Excel(name="设备名称")
    private String deviceName;

    /**
     * 设备编号
     */
    @Excel(name="设备编号")
    private String deviceNo;

    /**
     * 设备型号
     */
    @Excel(name="设备型号")
    private String deviceAttr;

    /**
     * 故障原因
     */
    @Excel(name="故障原因")
    private String breakdownReason;

    /**
     * 故障类型
     */
    @Excel(name="故障类型")
    private String breakdownTypeName;

    /**
     * 验收结果
     */
    @Excel(name="验收结果")
    private String approveResultName;

    /**
     * 报修人
     */
    @Excel(name="报修人")
    private String reportUserName;

    /**
     * 维修人
     */
    @Excel(name="维修人")
    private String repaireName;

    /**
     * 维修方案
     */
    @Excel(name="维修方案")
    private String repairePlan;

    /**
     * 维修工时
     */
    @Excel(name="维修工时")
    private Integer repaireHour;

    /**
     * 工时费
     */
    @Excel(name="故障原因")
    private Double hourPrice;

    /**
     * 维修费总额
     */
    @Excel(name="维修费总额")
    private Double totalPrice;

    /**
     * 备件费
     */
    @Excel(name="备件费")
    private Double sparePartsCost;

    /**
     * 使用状况（字典）
     */
    private Integer useStatus;

    /**
     * 维修单父ID
     */
    private Integer  repaireParentId;

    /**
     * 使用状况（字典）
     */
    @Excel(name="使用状况")
    private String useStatusName;

    /**
     * 实际开工时间
     */
    @Excel(name = "实际开工时间", exportFormat = "yyyy-MM-dd HH:mm:ss", importFormat = "yyyy-MM-dd HH:mm:ss")
    private Date actualRepaireStart;

    /**
     * 实际完工时间
     */
    @Excel(name = "实际完工时间", exportFormat = "yyyy-MM-dd HH:mm:ss", importFormat = "yyyy-MM-dd HH:mm:ss")
    private Date actualRepaireEnd;

    /**
     * 停机时长
     */
    @Excel(name="停机时长")
    private Integer noWorkHour;

    /**
     * 备注
     */
    @Excel(name="备注")
    private String repaireDesc;

    /**
     * 验收信息
     */
    @Excel(name="验收信息")
    private CusRepairApproveDTO cusRepairApproveDTO;

    /**
     * 使用备件列表
     */
    private List<CusRepaireSpareVo> cusRepaireSpareList;

    /**
     * 文档列表
     */
    private List<CusDocument> cusDocumentListDocument;

    /**
     * 文件列表
     */
    private List<SysFileHis> sysFileHisList;
}